function ccR_Druid_Wild_Charge(specNumber)
	if specNumber == nil then specNumber = ccrPlayerSpec() end
	local vUseWildCharge = ccRS["Druid_" .. specNumber .. "_UseWildCharge"]
	if vUseWildCharge
	and ccrPlayerHasTalent(WILD_CHARGE)
	and (ccrPlayerHasBuff(CAT_FORM)	or ccrPlayerHasBuff(BEAR_FORM))
	and ccrSpellCanAttack(WILD_CHARGE)
	and ccrValidTarget()
	and Target:GetDistance(Player) >= 10
	then
		ccrCastAttack(WILD_CHARGE)
		return
	end
end

function ccR_Druid_Renewal(specNumber)
	if specNumber == nil then specNumber = ccrPlayerSpec() end
	local vUseRenewal = ccRS["Druid_" .. specNumber .. "_UseRenewal"]
	local vRenewalHP = ccRS["Druid_" .. specNumber .. "_RenewalHP"]
	if vUseRenewal
	and ccrPlayerHasTalent(RENEWAL)
	and	ccrSpellIsReady(RENEWAL)
	and ccrPlayerHealth() <= vRenewalHP
	then
		ccrCast(RENEWAL)
		return
	end
end

function ccR_Druid_Cenarion_Ward(specNumber)
	if specNumber == nil then specNumber = ccrPlayerSpec() end
	local vUseCenarionWard = ccRS["Druid_" .. specNumber .. "_UseCenarionWard"]
	local vCenarionWardHP = ccRS["Druid_" .. specNumber .. "_CenarionWardHP"]
	if vUseCenarionWard
	and ccrPlayerHasTalent(CENARION_WARD)
	and	ccrSpellIsReady(CENARION_WARD)
	and ccrPlayerHealth() <= vCenarionWardHP
	then
		ccrCast(CENARION_WARD, "player")
		return
	end
end

function ccR_Druid_Incarnation(specNumber)
	if specNumber == nil then specNumber = ccrPlayerSpec() end
	local vUseRenewal = ccRS["Druid_" .. specNumber .. "_UseIncarnation"]
	if vUseIncarnation
	and ccrPlayerHasTalent(INCARNATION)
	and	ccrSpellIsReady(INCARNATION)
	and ccrPlayerIsInCombat()
	then
		ccrCast(INCARNATION)
		return
	end
end

function ccR_Druid_Force_of_Nature(specNumber)
	if specNumber == nil then specNumber = ccrPlayerSpec() end
	local vUseRenewal = ccRS["Druid_" .. specNumber .. "_UseForceOfNature"]
	if vUseIncarnation
	and ccrPlayerHasTalent(FORCE_OF_NATURE)
	and	ccrSpellIsReady(FORCE_OF_NATURE)
	and ccrPlayerIsInCombat()
	then
		ccrCast(FORCE_OF_NATURE)
		return
	end
end

function ccR_Druid_Disorienting_Roar(specNumber)
	if specNumber == nil then specNumber = ccrPlayerSpec() end
	local vUseDisorientingRoar = ccRS["Druid_" .. specNumber .. "_UseDisorientingRoar"]
	if vUseDisorientingRoar
	and ccrPlayerHasTalent(DISORIENTING_ROAR)
	and	ccrSpellIsReady(DISORIENTING_ROAR)
	and ccrPlayerIsInCombat()
	then
		ccrCast(DISORIENTING_ROAR)
		return
	end
end

function ccR_Druid_Ursols_Vortex(specNumber)
	if specNumber == nil then specNumber = ccrPlayerSpec() end
	local vUseUrsolsVortex = ccRS["Druid_" .. specNumber .. "_UseUrsolsVortex"]
	if vUseUrsolsVortex
	and ccrPlayerHasTalent(URSOLS_VORTEX)
	and	ccrSpellIsReady(URSOLS_VORTEX)
	and ccrPlayerIsInCombat()
	then
		ccrCast(URSOLS_VORTEX)
		return
	end
end

function ccR_Druid_Mighty_Bash()
	if specNumber == nil then specNumber = ccrPlayerSpec() end
	local vUseMightyBash = ccRS["Druid_" .. specNumber .. "_UseMightyBash"]
	if vUseMightyBash
	and ccrPlayerHasTalent(MIGHTY_BASH)
	and	ccrSpellIsReady(MIGHTY_BASH)
	and ccrPlayerIsInCombat()
	and not ccrTargetIsBoss()
	then
		ccrCast(MIGHTY_BASH)
		return
	end	
end